const a = {
  type: "File",
  start: 0,
  end: 553,
  loc: { start: { line: 1, column: 0 }, end: { line: 34, column: 0 } },
  errors: [],
  program: {
    type: "Program",
    start: 0,
    end: 553,
    loc: { start: { line: 1, column: 0 }, end: { line: 34, column: 0 } },
    sourceType: "module",
    interpreter: null,
    body: [
      {
        type: "ImportDeclaration",
        start: 0,
        end: 26,
        loc: { start: { line: 1, column: 0 }, end: { line: 1, column: 26 } },
        specifiers: [
          {
            type: "ImportDefaultSpecifier",
            start: 7,
            end: 12,
            loc: {
              start: { line: 1, column: 7 },
              end: { line: 1, column: 12 },
            },
            local: {
              type: "Identifier",
              start: 7,
              end: 12,
              loc: {
                start: { line: 1, column: 7 },
                end: { line: 1, column: 12 },
                identifierName: "React",
              },
              name: "React",
            },
          },
        ],
        importKind: "value",
        source: {
          type: "StringLiteral",
          start: 18,
          end: 25,
          loc: { start: { line: 1, column: 18 }, end: { line: 1, column: 25 } },
          extra: { rawValue: "react", raw: "'react'" },
          value: "react",
        },
      },
      {
        type: "ImportDeclaration",
        start: 27,
        end: 76,
        loc: { start: { line: 2, column: 0 }, end: { line: 2, column: 49 } },
        specifiers: [
          {
            type: "ImportSpecifier",
            start: 36,
            end: 48,
            loc: {
              start: { line: 2, column: 9 },
              end: { line: 2, column: 21 },
            },
            imported: {
              type: "Identifier",
              start: 36,
              end: 48,
              loc: {
                start: { line: 2, column: 9 },
                end: { line: 2, column: 21 },
                identifierName: "HomeOutlined",
              },
              name: "HomeOutlined",
            },
            importKind: null,
            local: {
              type: "Identifier",
              start: 36,
              end: 48,
              loc: {
                start: { line: 2, column: 9 },
                end: { line: 2, column: 21 },
                identifierName: "HomeOutlined",
              },
              name: "HomeOutlined",
            },
          },
        ],
        importKind: "value",
        source: {
          type: "StringLiteral",
          start: 56,
          end: 75,
          loc: { start: { line: 2, column: 29 }, end: { line: 2, column: 48 } },
          extra: { rawValue: "@ant-design/icons", raw: "'@ant-design/icons'" },
          value: "@ant-design/icons",
        },
      },
      {
        type: "ExportNamedDeclaration",
        start: 78,
        end: 202,
        loc: { start: { line: 4, column: 0 }, end: { line: 10, column: 1 } },
        specifiers: [],
        source: null,
        exportKind: "type",
        declaration: {
          type: "InterfaceDeclaration",
          start: 85,
          end: 202,
          loc: { start: { line: 4, column: 7 }, end: { line: 10, column: 1 } },
          id: {
            type: "Identifier",
            start: 95,
            end: 104,
            loc: {
              start: { line: 4, column: 17 },
              end: { line: 4, column: 26 },
              identifierName: "IMenuItem",
            },
            name: "IMenuItem",
          },
          typeParameters: null,
          extends: [],
          implements: [],
          mixins: [],
          body: {
            type: "ObjectTypeAnnotation",
            start: 105,
            end: 202,
            loc: {
              start: { line: 4, column: 27 },
              end: { line: 10, column: 1 },
            },
            callProperties: [],
            properties: [
              {
                type: "ObjectTypeProperty",
                start: 109,
                end: 120,
                loc: {
                  start: { line: 5, column: 2 },
                  end: { line: 5, column: 13 },
                },
                key: {
                  type: "Identifier",
                  start: 109,
                  end: 112,
                  loc: {
                    start: { line: 5, column: 2 },
                    end: { line: 5, column: 5 },
                    identifierName: "key",
                  },
                  name: "key",
                },
                static: false,
                proto: false,
                kind: "init",
                method: false,
                value: {
                  type: "StringTypeAnnotation",
                  start: 114,
                  end: 120,
                  loc: {
                    start: { line: 5, column: 7 },
                    end: { line: 5, column: 13 },
                  },
                },
                variance: null,
                optional: false,
              },
              {
                type: "ObjectTypeProperty",
                start: 124,
                end: 137,
                loc: {
                  start: { line: 6, column: 2 },
                  end: { line: 6, column: 15 },
                },
                key: {
                  type: "Identifier",
                  start: 124,
                  end: 129,
                  loc: {
                    start: { line: 6, column: 2 },
                    end: { line: 6, column: 7 },
                    identifierName: "label",
                  },
                  name: "label",
                },
                static: false,
                proto: false,
                kind: "init",
                method: false,
                value: {
                  type: "StringTypeAnnotation",
                  start: 131,
                  end: 137,
                  loc: {
                    start: { line: 6, column: 9 },
                    end: { line: 6, column: 15 },
                  },
                },
                variance: null,
                optional: false,
              },
              {
                type: "ObjectTypeProperty",
                start: 141,
                end: 154,
                loc: {
                  start: { line: 7, column: 2 },
                  end: { line: 7, column: 15 },
                },
                key: {
                  type: "Identifier",
                  start: 141,
                  end: 145,
                  loc: {
                    start: { line: 7, column: 2 },
                    end: { line: 7, column: 6 },
                    identifierName: "path",
                  },
                  name: "path",
                },
                static: false,
                proto: false,
                kind: "init",
                method: false,
                value: {
                  type: "StringTypeAnnotation",
                  start: 148,
                  end: 154,
                  loc: {
                    start: { line: 7, column: 9 },
                    end: { line: 7, column: 15 },
                  },
                },
                variance: null,
                optional: true,
              },
              {
                type: "ObjectTypeProperty",
                start: 158,
                end: 180,
                loc: {
                  start: { line: 8, column: 2 },
                  end: { line: 8, column: 24 },
                },
                key: {
                  type: "Identifier",
                  start: 158,
                  end: 166,
                  loc: {
                    start: { line: 8, column: 2 },
                    end: { line: 8, column: 10 },
                    identifierName: "children",
                  },
                  name: "children",
                },
                static: false,
                proto: false,
                kind: "init",
                method: false,
                value: {
                  type: "ArrayTypeAnnotation",
                  start: 169,
                  end: 180,
                  loc: {
                    start: { line: 8, column: 13 },
                    end: { line: 8, column: 24 },
                  },
                  elementType: {
                    type: "GenericTypeAnnotation",
                    start: 169,
                    end: 178,
                    loc: {
                      start: { line: 8, column: 13 },
                      end: { line: 8, column: 22 },
                    },
                    typeParameters: null,
                    id: {
                      type: "Identifier",
                      start: 169,
                      end: 178,
                      loc: {
                        start: { line: 8, column: 13 },
                        end: { line: 8, column: 22 },
                        identifierName: "IMenuItem",
                      },
                      name: "IMenuItem",
                    },
                  },
                },
                variance: null,
                optional: true,
              },
              {
                type: "ObjectTypeProperty",
                start: 184,
                end: 199,
                loc: {
                  start: { line: 9, column: 2 },
                  end: { line: 9, column: 17 },
                },
                key: {
                  type: "Identifier",
                  start: 184,
                  end: 188,
                  loc: {
                    start: { line: 9, column: 2 },
                    end: { line: 9, column: 6 },
                    identifierName: "icon",
                  },
                  name: "icon",
                },
                static: false,
                proto: false,
                kind: "init",
                method: false,
                value: {
                  type: "GenericTypeAnnotation",
                  start: 191,
                  end: 199,
                  loc: {
                    start: { line: 9, column: 9 },
                    end: { line: 9, column: 17 },
                  },
                  typeParameters: null,
                  id: {
                    type: "QualifiedTypeIdentifier",
                    start: 191,
                    end: 199,
                    loc: {
                      start: { line: 9, column: 9 },
                      end: { line: 9, column: 17 },
                    },
                    qualification: {
                      type: "Identifier",
                      start: 191,
                      end: 196,
                      loc: {
                        start: { line: 9, column: 9 },
                        end: { line: 9, column: 14 },
                        identifierName: "React",
                      },
                      name: "React",
                    },
                    id: {
                      type: "Identifier",
                      start: 197,
                      end: 199,
                      loc: {
                        start: { line: 9, column: 15 },
                        end: { line: 9, column: 17 },
                        identifierName: "FC",
                      },
                      name: "FC",
                    },
                  },
                },
                variance: null,
                optional: true,
              },
            ],
            indexers: [],
            internalSlots: [],
            exact: false,
          },
        },
      },
      {
        type: "ExportNamedDeclaration",
        start: 204,
        end: 552,
        loc: { start: { line: 12, column: 0 }, end: { line: 33, column: 2 } },
        specifiers: [],
        source: null,
        declaration: {
          type: "VariableDeclaration",
          start: 211,
          end: 552,
          loc: { start: { line: 12, column: 7 }, end: { line: 33, column: 2 } },
          declarations: [
            {
              type: "VariableDeclarator",
              start: 217,
              end: 551,
              loc: {
                start: { line: 12, column: 13 },
                end: { line: 33, column: 1 },
              },
              id: {
                type: "Identifier",
                start: 217,
                end: 234,
                loc: {
                  start: { line: 12, column: 13 },
                  end: { line: 12, column: 30 },
                  identifierName: "menu",
                },
                name: "menu",
                typeAnnotation: {
                  type: "TypeAnnotation",
                  start: 221,
                  end: 234,
                  loc: {
                    start: { line: 12, column: 17 },
                    end: { line: 12, column: 30 },
                  },
                  typeAnnotation: {
                    type: "ArrayTypeAnnotation",
                    start: 223,
                    end: 234,
                    loc: {
                      start: { line: 12, column: 19 },
                      end: { line: 12, column: 30 },
                    },
                    elementType: {
                      type: "GenericTypeAnnotation",
                      start: 223,
                      end: 232,
                      loc: {
                        start: { line: 12, column: 19 },
                        end: { line: 12, column: 28 },
                      },
                      typeParameters: null,
                      id: {
                        type: "Identifier",
                        start: 223,
                        end: 232,
                        loc: {
                          start: { line: 12, column: 19 },
                          end: { line: 12, column: 28 },
                          identifierName: "IMenuItem",
                        },
                        name: "IMenuItem",
                      },
                    },
                  },
                },
              },
              init: {
                type: "ArrayExpression",
                start: 237,
                end: 551,
                loc: {
                  start: { line: 12, column: 33 },
                  end: { line: 33, column: 1 },
                },
                extra: { trailingComma: 548 },
                elements: [
                  {
                    type: "ObjectExpression",
                    start: 241,
                    end: 454,
                    loc: {
                      start: { line: 13, column: 2 },
                      end: { line: 26, column: 3 },
                    },
                    extra: { trailingComma: 449 },
                    properties: [
                      {
                        type: "ObjectProperty",
                        start: 247,
                        end: 258,
                        loc: {
                          start: { line: 14, column: 4 },
                          end: { line: 14, column: 15 },
                        },
                        method: false,
                        key: {
                          type: "Identifier",
                          start: 247,
                          end: 250,
                          loc: {
                            start: { line: 14, column: 4 },
                            end: { line: 14, column: 7 },
                            identifierName: "key",
                          },
                          name: "key",
                        },
                        computed: false,
                        shorthand: false,
                        value: {
                          type: "StringLiteral",
                          start: 252,
                          end: 258,
                          loc: {
                            start: { line: 14, column: 9 },
                            end: { line: 14, column: 15 },
                          },
                          extra: { rawValue: "home", raw: "'home'" },
                          value: "home",
                        },
                      },
                      {
                        type: "ObjectProperty",
                        start: 264,
                        end: 282,
                        loc: {
                          start: { line: 15, column: 4 },
                          end: { line: 15, column: 22 },
                        },
                        method: false,
                        key: {
                          type: "Identifier",
                          start: 264,
                          end: 268,
                          loc: {
                            start: { line: 15, column: 4 },
                            end: { line: 15, column: 8 },
                            identifierName: "icon",
                          },
                          name: "icon",
                        },
                        computed: false,
                        shorthand: false,
                        value: {
                          type: "Identifier",
                          start: 270,
                          end: 282,
                          loc: {
                            start: { line: 15, column: 10 },
                            end: { line: 15, column: 22 },
                            identifierName: "HomeOutlined",
                          },
                          name: "HomeOutlined",
                        },
                      },
                      {
                        type: "ObjectProperty",
                        start: 288,
                        end: 299,
                        loc: {
                          start: { line: 16, column: 4 },
                          end: { line: 16, column: 15 },
                        },
                        method: false,
                        key: {
                          type: "Identifier",
                          start: 288,
                          end: 293,
                          loc: {
                            start: { line: 16, column: 4 },
                            end: { line: 16, column: 9 },
                            identifierName: "label",
                          },
                          name: "label",
                        },
                        computed: false,
                        shorthand: false,
                        value: {
                          type: "StringLiteral",
                          start: 295,
                          end: 299,
                          loc: {
                            start: { line: 16, column: 11 },
                            end: { line: 16, column: 15 },
                          },
                          extra: { rawValue: "首页", raw: "'首页'" },
                          value: "首页",
                        },
                      },
                      {
                        type: "ObjectProperty",
                        start: 305,
                        end: 314,
                        loc: {
                          start: { line: 17, column: 4 },
                          end: { line: 17, column: 13 },
                        },
                        method: false,
                        key: {
                          type: "Identifier",
                          start: 305,
                          end: 309,
                          loc: {
                            start: { line: 17, column: 4 },
                            end: { line: 17, column: 8 },
                            identifierName: "path",
                          },
                          name: "path",
                        },
                        computed: false,
                        shorthand: false,
                        value: {
                          type: "StringLiteral",
                          start: 311,
                          end: 314,
                          loc: {
                            start: { line: 17, column: 10 },
                            end: { line: 17, column: 13 },
                          },
                          extra: { rawValue: "/", raw: "'/'" },
                          value: "/",
                        },
                      },
                      {
                        type: "ObjectProperty",
                        start: 320,
                        end: 449,
                        loc: {
                          start: { line: 18, column: 4 },
                          end: { line: 25, column: 5 },
                        },
                        method: false,
                        key: {
                          type: "Identifier",
                          start: 320,
                          end: 328,
                          loc: {
                            start: { line: 18, column: 4 },
                            end: { line: 18, column: 12 },
                            identifierName: "children",
                          },
                          name: "children",
                        },
                        computed: false,
                        shorthand: false,
                        value: {
                          type: "ArrayExpression",
                          start: 330,
                          end: 449,
                          loc: {
                            start: { line: 18, column: 14 },
                            end: { line: 25, column: 5 },
                          },
                          extra: { trailingComma: 442 },
                          elements: [
                            {
                              type: "ObjectExpression",
                              start: 338,
                              end: 442,
                              loc: {
                                start: { line: 19, column: 6 },
                                end: { line: 24, column: 7 },
                              },
                              extra: { trailingComma: 433 },
                              properties: [
                                {
                                  type: "ObjectProperty",
                                  start: 348,
                                  end: 359,
                                  loc: {
                                    start: { line: 20, column: 8 },
                                    end: { line: 20, column: 19 },
                                  },
                                  method: false,
                                  key: {
                                    type: "Identifier",
                                    start: 348,
                                    end: 351,
                                    loc: {
                                      start: { line: 20, column: 8 },
                                      end: { line: 20, column: 11 },
                                      identifierName: "key",
                                    },
                                    name: "key",
                                  },
                                  computed: false,
                                  shorthand: false,
                                  value: {
                                    type: "StringLiteral",
                                    start: 353,
                                    end: 359,
                                    loc: {
                                      start: { line: 20, column: 13 },
                                      end: { line: 20, column: 19 },
                                    },
                                    extra: { rawValue: "test", raw: "'test'" },
                                    value: "test",
                                  },
                                },
                                {
                                  type: "ObjectProperty",
                                  start: 369,
                                  end: 387,
                                  loc: {
                                    start: { line: 21, column: 8 },
                                    end: { line: 21, column: 26 },
                                  },
                                  method: false,
                                  key: {
                                    type: "Identifier",
                                    start: 369,
                                    end: 373,
                                    loc: {
                                      start: { line: 21, column: 8 },
                                      end: { line: 21, column: 12 },
                                      identifierName: "icon",
                                    },
                                    name: "icon",
                                  },
                                  computed: false,
                                  shorthand: false,
                                  value: {
                                    type: "Identifier",
                                    start: 375,
                                    end: 387,
                                    loc: {
                                      start: { line: 21, column: 14 },
                                      end: { line: 21, column: 26 },
                                      identifierName: "HomeOutlined",
                                    },
                                    name: "HomeOutlined",
                                  },
                                },
                                {
                                  type: "ObjectProperty",
                                  start: 397,
                                  end: 410,
                                  loc: {
                                    start: { line: 22, column: 8 },
                                    end: { line: 22, column: 21 },
                                  },
                                  method: false,
                                  key: {
                                    type: "Identifier",
                                    start: 397,
                                    end: 402,
                                    loc: {
                                      start: { line: 22, column: 8 },
                                      end: { line: 22, column: 13 },
                                      identifierName: "label",
                                    },
                                    name: "label",
                                  },
                                  computed: false,
                                  shorthand: false,
                                  value: {
                                    type: "StringLiteral",
                                    start: 404,
                                    end: 410,
                                    loc: {
                                      start: { line: 22, column: 15 },
                                      end: { line: 22, column: 21 },
                                    },
                                    extra: { rawValue: "test", raw: "'test'" },
                                    value: "test",
                                  },
                                },
                                {
                                  type: "ObjectProperty",
                                  start: 420,
                                  end: 433,
                                  loc: {
                                    start: { line: 23, column: 8 },
                                    end: { line: 23, column: 21 },
                                  },
                                  method: false,
                                  key: {
                                    type: "Identifier",
                                    start: 420,
                                    end: 424,
                                    loc: {
                                      start: { line: 23, column: 8 },
                                      end: { line: 23, column: 12 },
                                      identifierName: "path",
                                    },
                                    name: "path",
                                  },
                                  computed: false,
                                  shorthand: false,
                                  value: {
                                    type: "StringLiteral",
                                    start: 426,
                                    end: 433,
                                    loc: {
                                      start: { line: 23, column: 14 },
                                      end: { line: 23, column: 21 },
                                    },
                                    extra: {
                                      rawValue: "/test",
                                      raw: "'/test'",
                                    },
                                    value: "/test",
                                  },
                                },
                              ],
                            },
                          ],
                        },
                      },
                    ],
                  },
                  {
                    type: "ObjectExpression",
                    start: 458,
                    end: 548,
                    loc: {
                      start: { line: 27, column: 2 },
                      end: { line: 32, column: 3 },
                    },
                    extra: { trailingComma: 543 },
                    properties: [
                      {
                        type: "ObjectProperty",
                        start: 464,
                        end: 477,
                        loc: {
                          start: { line: 28, column: 4 },
                          end: { line: 28, column: 17 },
                        },
                        method: false,
                        key: {
                          type: "Identifier",
                          start: 464,
                          end: 467,
                          loc: {
                            start: { line: 28, column: 4 },
                            end: { line: 28, column: 7 },
                            identifierName: "key",
                          },
                          name: "key",
                        },
                        computed: false,
                        shorthand: false,
                        value: {
                          type: "StringLiteral",
                          start: 469,
                          end: 477,
                          loc: {
                            start: { line: 28, column: 9 },
                            end: { line: 28, column: 17 },
                          },
                          extra: { rawValue: "mypage", raw: "'mypage'" },
                          value: "mypage",
                        },
                      },
                      {
                        type: "ObjectProperty",
                        start: 483,
                        end: 501,
                        loc: {
                          start: { line: 29, column: 4 },
                          end: { line: 29, column: 22 },
                        },
                        method: false,
                        key: {
                          type: "Identifier",
                          start: 483,
                          end: 487,
                          loc: {
                            start: { line: 29, column: 4 },
                            end: { line: 29, column: 8 },
                            identifierName: "icon",
                          },
                          name: "icon",
                        },
                        computed: false,
                        shorthand: false,
                        value: {
                          type: "Identifier",
                          start: 489,
                          end: 501,
                          loc: {
                            start: { line: 29, column: 10 },
                            end: { line: 29, column: 22 },
                            identifierName: "HomeOutlined",
                          },
                          name: "HomeOutlined",
                        },
                      },
                      {
                        type: "ObjectProperty",
                        start: 507,
                        end: 522,
                        loc: {
                          start: { line: 30, column: 4 },
                          end: { line: 30, column: 19 },
                        },
                        method: false,
                        key: {
                          type: "Identifier",
                          start: 507,
                          end: 512,
                          loc: {
                            start: { line: 30, column: 4 },
                            end: { line: 30, column: 9 },
                            identifierName: "label",
                          },
                          name: "label",
                        },
                        computed: false,
                        shorthand: false,
                        value: {
                          type: "StringLiteral",
                          start: 514,
                          end: 522,
                          loc: {
                            start: { line: 30, column: 11 },
                            end: { line: 30, column: 19 },
                          },
                          extra: { rawValue: "mypage", raw: "'mypage'" },
                          value: "mypage",
                        },
                      },
                      {
                        type: "ObjectProperty",
                        start: 528,
                        end: 543,
                        loc: {
                          start: { line: 31, column: 4 },
                          end: { line: 31, column: 19 },
                        },
                        method: false,
                        key: {
                          type: "Identifier",
                          start: 528,
                          end: 532,
                          loc: {
                            start: { line: 31, column: 4 },
                            end: { line: 31, column: 8 },
                            identifierName: "path",
                          },
                          name: "path",
                        },
                        computed: false,
                        shorthand: false,
                        value: {
                          type: "StringLiteral",
                          start: 534,
                          end: 543,
                          loc: {
                            start: { line: 31, column: 10 },
                            end: { line: 31, column: 19 },
                          },
                          extra: { rawValue: "/mypage", raw: "'/mypage'" },
                          value: "/mypage",
                        },
                      },
                    ],
                  },
                ],
              },
            },
          ],
          kind: "const",
        },
        exportKind: "value",
      },
    ],
    directives: [],
  },
  comments: [],
};
